home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software 2000
/
Software 2000 Volume 1 (Disc 1 of 2).iso
/
utilities
/
u600.dms
/
u600.adf
/
Doc
/
Technical
< prev
next >
Wrap
Text File
|
1991-10-01
|
13KB
|
379 lines
TECHNICAL
A64 AND MULTITASKING
A64 is fully multitasking compatible. A64 should work just fine
with any program that follows the rules of multitasking
programming on the Amiga. The only programs that A64 may not
work with are programs that take over some part of, or all of,
your Amiga, like some games and some other emulators. Which
brings us to our next point. A64 can not multitask itself. Even
though A64 is capable of multitasking it still takes over system
resources that can not be shared with other programs, so one copy
of A64 can not share these resources with another copy of A64
(See A64'S THREE MODES OF OPERATION in the SYSTEM MENU section).
A64 AND MEMORY
A64 is a very memory hungry program and in its full capacity it
can easily use over 500k of your Amiga's memory. We recommend
having a minimum of 1mb of RAM to use A64.
Different memory configurations can make a dramatic difference in
the speed of A64. The worst case is running A64 on a A500 or
A2000 with 1mb RAM and the best case is running A64 on a 68030
based system with 32 bit RAM. On a 68030 based system speeds of
over 200% have been reached with some programs. We recommend at
least 1mb of RAM no matter how your Amiga is configured and this
statement can be elaborated. If you are running A64 on an Amiga
1000 we recommend at least 1mb of RAM. If you are running A64 on
an A500 or A2000 we recommend at least 1.5mb. The reason for
this difference is not because A64 will not run on A500s or
A2000s with only 1mb, it's because A64 will run faster if these
machines have more than 1mb. This is because A500's and A2000's
with only 1mb do not have what is called FAST RAM. This is RAM
that can not be used by graphics and as a result programs run
faster when using it. We also recommend running the program
"FastMemFirst," found in the System drawer of the V1.3 WorkBench,
before running A64. This program will force A64 (and other
programs) to use this FASTer memory first.
680x0 SUPPORT
All of the programs in The A64 Package will work with any 680x0
microprocessor. They have been tested with the 68000, 68010,
68020 and 68030 microprocessors.
6-1
A64 AND THE A3000
A64 V2.0 will run on the A3000, but because of the speed of the
A3000, communications with C64 devices using our interface will
not work. This problem also exists with all of The A64 Packages
utilities that use our hardware interface. We are working on
correcting this problem and hopefully it will be fixed for a
future release. Please note that this problem does not exist
with other Amiga models using 68030 boards, this problem is
specific to the A3000.
ROMS
WHAT IS ROM
ROM is short for "READ ONLY MEMORY." A ROM is a computer chip
that is capable of storing a program and like its name implies,
it is READ ONLY, which means you can not change the program it
contains. ROM unlike RAM (your computer's memory) does not loose
its contents when your computer is turned off. Computers usually
come with ROM to tell it what to do when it's turned on. Your
Amiga uses a ROM called "KickStart."
THE C64'S ROMS
The C64 has two ROMs that contain its operating system. One ROM
holds the C64's BASIC and the other ROM holds the C64's KERNAL.
A64 does not come with the C64's BASIC or KERNAL, because they
are copyrighted. Before you start worrying that A64 will not
work without them, this is NOT the case. A64 contains a very
complex C64 ROM emulation which allows A64 to run most C64
programs, without the C64's ROMs.
A64'S ROMS
NOTE: This section of the manual gets a little technical by
discussing machine language. If you are not familiar with
machine language you should still read this section and and
try to follow it as best you can, it contains some very
important information about A64.
As mentioned above, A64 comes with a very complex C64 ROM
emulation, this ROM emulation will handle the majority of C64
programs, but not all of them. To explain what A64's ROM
emulation will and will not handle we need to discuss machine
language.
The C64's ROMs contain machine language programs. Machine
language programs are made up of opcodes. Opcodes are machine
language instructions that tell the computer to perform some tiny
6-2
operation, like move a value from one place to another or perform
some kind of operation to a value. It takes many, many opcodes
to perform even the simplest operations on your computer. The
C64's ROMs contain many thousands of these opcodes. The C64's
ROMs are located in the C64's memory map at 40960-49151 (BASIC)
and 57344-65535 (KERNAL), these numbers are called addresses. To
access the C64's ROMs and the opcodes they contain you need to
JUMP to one of these addresses. With BASIC this done with the
command "SYS."
For example, to reset the C64 (or A64), you can type the
following:
SYS 64738 [RETURN]
This will cause the C64 (or A64) to enter the KERNAL ROM at
address 64738 and start executing machine language opcodes
starting at that address.
If you were to disassemble (a disassembler is a program that
turns machine language into a readable form) one of the C64's
ROMs, you would get a listing similar to this:
40960 LDX #10
40962 LDA #138
40964 STA 1024
40967 ...
NOTE: This listing is only used as an example and is not part of
the C64's ROMs.
The listing shows ROM addresses followed by the opcode stored at
each address. Please note that the addresses are not perfectly
consecutive, this is because different opcodes have different
lengths. If A64 was to JUMP into the ROMs, using the above
example, it would handle JUMPING in at all of the shown
addresses: 40960, 40962, 40964 and 40967. The problem occurs if
A64 tried to JUMP in at one of the addresses not shown, the
addresses between opcodes. Because of the way machine language
is, it is possible for an opcode to have another opcode contained
within it. For example, if you disassembled the same code as
above, but started at address 40963, you would get a listing like
this:
40963 TXA
40964 STA 1024
40967 ...
The opcode "TXA" at address 40963 is contained within the opcode
"LDA #138" at address 40962. This is what A64 will not handle,
when emulating the C64's ROMs, the JUMPING into the ROMs between
6-3
opcodes. If you are running a program that tries to JUMP into
the C64's ROMs between opcodes A64 will trap it and display an
error requester telling you "PROGRAM EXECUTING DATA ROMS." This
problem is only apparent when JUMPING into the C64's ROMs between
opcodes and is not a problem when running C64 programs that use
the same technique to JUMP within themselves. This problem can
be corrected by installing the C64's ROMs into A64.
INSTALLING THE C64 ROMS
NOTE: If you have an original copy of GO-64! V2.0 you can install
the C64 ROMs directly from the GO-64! disk. See the
GrabGO64ROMs utility in the UTILITIES section.
Installing the C64's ROMs into A64, basically involves saving the
contents of the C64's ROMs (this must be done on a C64) to a C64
disk and then copying them to your A64 disk. Installing the
C64's ROMs into A64 is not difficult, but it does require a few
small steps to accomplish. Once the C64's ROMs are installed you
never have to worry about them again. A64 will automatically
load the C64's ROMs and use them whenever the above mentioned
problem occurs.
To install the C64 ROMs you need the following:
A C64
A C64 disk drive (i.e., 1541)
A64's hardware interface
A 5 1/4" disk, formatted on a C64, with at least 20k free
NOTE: You can format the C64 disk with the utility 64Cmd from
64Tools.
and the following programs that are included with The A64
Package:
SaveROMs
64Tools
The following procedure outlines the installation of the C64
ROMs. Part of it has to be done on a C64 and the rest must be
done on the Amiga. This example assumes you are using an A64
WorkBench disk as described in the GETTING STARTED section.
The first thing you need to do is copy the C64 program "saveroms"
from the A64 disk to a C64 disk. This program is used to save
the Commodore 64's ROMs to a C64 disk.
1. Install A64's hardware interface and connect a C64 disk
drive to it (See INSTALLING A64'S HARDWARE INTERFACE in
the GETTING STARTED section).
6-4
2. Run the 64Tools program found in the A64Utilities drawer
on your A64 WorkBench.
3. Select the AmigaTo64 gadget. A requester will open asking
you enter the source filename and destination filename.
For the source filename type "A64:64Prgs/saveroms." Note
that saveroms is in all lowercase characters. You do not
need to enter a destination name, the name "saveroms" will
be used for the destination name. After you are done
entering the name select the OK gadget. The C64 program
"saveroms" will then be copied to the C64 disk.
Now that the C64 program "saveroms" is on the C64 disk you need
to load and run it on a C64:
1. Either unplug the C64 disk drive from the interface or use
another C64 disk drive and connect it to a C64.
2. With the C64 disk containing the program "saveroms" in the
C64 disk drive type the following on the C64:
LOAD "SAVEROMS",8 [RETURN]
3. After the program is done loading type:
RUN [RETURN]
4. You will then be prompted to insert a disk into drive 8
and press any key when ready.
5. After pressing any key the C64 ROMs will be saved to the
C64 disk.
Now that the C64's ROMs are saved to a C64 disk you need to
transfer them to your disk containing A64.
1. If you need to reconnect the C64 disk drive to your Amiga
with A64's hardware interface, do so.
2. Now select the New Disk gadget in 64Tools.
3. The directory of the 64 disk will then be read.
4. Select the Exclude All gadget to unselect all the files.
5. Select the programs "basic.rom" and "kernal.rom" by
clicking the left mouse button on their names.
6. At the bottom of the 64Tools window is the Destination
gadget. Select this gadget and enter the following:
64:TheA64Package.
7. When you are done select the START gadget to copy the
ROMs.
8. After the ROMs are copied you need to run the program
StripLoadAddr on them. Select the StripLoadAddr gadget.
A requester will appear asking you to enter the filename.
For the first ROM enter: "64:TheA64Package/BASIC.rom."
And select the OK gadget. When StripLoadAddr is done,
6-5
repeat the procedure for the second ROM. Enter:
"64:TheA64Package/KERNAL.rom" and then select the OK
gadget.
The C64's ROMs are now installed. A64 will automatically load and
use them when needed.
NOTES: Once you have installed the C64 ROMs you will be able to
disable A64 ROM emulation at will with the A64 ROMs menu
option in A64 Prefs. Disabling A64's ROM emulation will
free about 180k of RAM, but will result in some programs
running slower.
It is highly recommended that you install the C64's ROMs
if you have access to a C64. We have come across a few
programs that won't run without the ROMs installed for
reasons other than the in-between opcode problem described
above. You have to expect the lack of ROMs in the C64
memory map to create problems with some C64 programs. The
C64's ROMs take up about 20% of the C64's total memory
map, that's a big chunk of missing information.
6-6